package main

import (
	"fmt"
	"math/rand"
	"strings"
	"time"
)

// 使用英文小写字母随机生成一个大于3个字符的字符串并打印，请再把这个字符串逆序打印出来

func main() {
	// 设置随机数种子
	rand.Seed(time.Now().UnixNano())

	// 定义字母表
	letters := "abcdefghijklmnopqrstuvwxyz"

	// 生成一个大于3个字符的随机字符串，例如长度为5
	length := rand.Intn(5) + 4 // 长度在4到8之间
	var strBuilder strings.Builder

	// 随机生成字符串
	for i := 0; i < length; i++ {
		randomChar := letters[rand.Intn(len(letters))]
		strBuilder.WriteByte(randomChar)
	}

	// 获取生成的字符串
	randomStr := strBuilder.String()
	fmt.Println("Generated String:", randomStr)

	// 将字符串逆序
	reversedStr := reverseString(randomStr)
	fmt.Println("Reversed String:", reversedStr)
}

// 逆序字符串的函数
func reverseString(s string) string {
	var reversed []rune
	for i := len(s) - 1; i >= 0; i-- {
		reversed = append(reversed, rune(s[i]))
	}
	return string(reversed)
}
